package com.bookcloud.java21.chapter2.逻辑运算符_三元表达式2_14;

/** 2.14逻辑运算符—三元表达式 */
public class Lesson214 {
  public static void main(String[] args) {
    /*
    一、三元表达式的格式：
      1.数据类型 变量名 = 布尔表达式 ? 表达式1 : 表达式2;
      2.布尔表达式的结果为true，变量名的取值为表达式1的值；
      3.布尔表达式的结果为false，变量名的取值为表达式2的值；
     */
    // 1.判断一个数是否为偶数
    int num = 8;
    String str = num % 2 == 0 ? "偶数" : "奇数";
    System.out.println(str);
    // 2.判断一个数是否为正数
    int num2 = -9;
    var isPositive = num2 > 0 ? true : false;
    System.out.println(isPositive);
    /*
    二、运算符的优化级
      1.逻辑非运算符!的优先级最高。
      2.逻辑与运算符&&的优先级高于逻辑或运算符||。
      3.逻辑异或运算符^的优先级低于逻辑与运算符&&和逻辑或运算符||。
      4.逻辑运算符的优先级低于比较运算符。
     */
    // 逻辑与运算符&&的优先级高于逻辑或运算符||,举例
    int age = 18;
    boolean isAdult = (age >= 18 && age <= 60) || age < 18;
    System.out.println(isAdult);

    // 编写一个年龄是否是成年人的判断
    int age2 = 18;
    boolean isAdult2 = (age2 >= 18 && age2 <= 60);
    System.out.println(isAdult2);
    // AI+Java核心编程（JDK21),编程理念和技术
  }
}
